<?php
if($access_control != "924y39c9vns8r73"){ header("location:../"); }

// calcula quantidade de páginas
$sql = "SELECT count(*) FROM sgm_produto WHERE id_empresa = '".$_SESSION["sgm_id_empresa"]."'";
$db = new db(config::$driver);
$con = $db->conecta();
$res = $db->query($sql, $con);
$db->close($con);
$qtdp = $db->fetch_array($res);
$qtd_prod = $qtdp[0];

if($_GET["ps"] != ''){
	$pag_atual = $_GET["ps"];
}else{
	$pag_atual = 1;
}

$produto = new produto();
$readonly = '';
if(valida::numero($_GET["id"]) && $_GET["id"] != ''){
    $codebar = $_GET["id"];
    $produto->carregar($codebar);
    $readonly = "readonly class='readonly'";
}

if ($_POST["btn_ok"] == "Ok"){
    if(valida::numero($_POST["codebar"])){
        $codebar = $_POST["codebar"];
        $produto->carregar($codebar);
        
        if($produto->get_id() == NULL){
            $produto->set_codebar($codebar);
            echo "Novo";
        }
    }
}

if ($_POST["btn_salvar"] == "Salvar"){
	$msg_erro = '';
	$erro = 0;
        
        $produto->set_id($_POST["id"]);
	$produto->set_id_empresa($_SESSION["sgm_id_empresa"]);
        if (!$produto->set_codebar(   $_POST["codebar"]   )){ $erro = 1; $msg_erro["codebar"]    = "Código de barras inválido"; }
	if (!$produto->set_nome(      $_POST["nome"]      )){ $erro = 1; $msg_erro["nome"]       = "Nome inválido"; }
	if (!$produto->set_quantidade($_POST["quantidade"])){ $erro = 1; $msg_erro["quantidade"] = "Quantidade inválida"; }
	if (!$produto->set_medida(    $_POST["medida"]    )){ $erro = 1; $msg_erro["medida"]     = "Unidade de medida inválida"; }
	if (!$produto->set_minimo(    $_POST["minimo"]    )){ $erro = 1; $msg_erro["minimo"]     = "Quantidade mínima inválida"; }
        if (!$produto->set_id_marca(  $_POST["marca"]     )){ $erro = 1; $msg_erro["marca"]      = "Marca inválida"; }
	if (!$produto->set_id_setor(  $_POST["setor"]     )){ $erro = 1; $msg_erro["setor"]      = "Setor inválido"; }
	if (!$produto->set_val_custo( $_POST["val_custo"] )){ $erro = 1; $msg_erro["val_custo"]  = "Valor inválido"; }
	if (!$produto->set_val_venda( $_POST["val_venda"] )){ $erro = 1; $msg_erro["val_venda"]  = "Valor inválido"; }
        if (!$produto->set_limitedesc($_POST["limitedesc"])){ $erro = 1; $msg_erro["limitedesc"] = "Limite inválido"; }
	if (!$produto->set_dt_compra( $_POST["dt_compra"] )){ $erro = 1; $msg_erro["dt_compra"]  = "Data inválida"; }
        if (!$produto->set_dt_venc(   $_POST["dt_venc"]   )){ $erro = 1; $msg_erro["dt_venc"]    = "Data inválida"; }
	
	if($erro == 0){
            if($produto->salvar()){
                echo "
                <script>
                    alert('Produto cadastrado com Sucesso');
                    location.href = '?pag=produto';
                </script>";
                unset($produto);
            }else{
                echo "
                <script>
                    alert('Falha ao gravar os dados');
                </script>";
            }
        }else{
            echo "
            <script>
                alert('Preencha so campos corretamente');
            </script>";
        }
}

if ($_POST["btn_gerar_relatorio"] == "Gerar"){
    $erro = 0;
    
    if(valida::numero($_POST["marca"]       )){ $sgm_relatorio_marca        = $_POST["marca"];        }else{ $erro = 1; }
    if(valida::numero($_POST["setor"]       )){ $sgm_relatorio_setor        = $_POST["setor"];        }else{ $erro = 1; }
    if(valida::numero($_POST["quantidade_i"])){ $sgm_relatorio_quantidade_i = $_POST["quantidade_i"]; }else{ $erro = 1; }
    if(valida::numero($_POST["quantidade_f"])){ $sgm_relatorio_quantidade_f = $_POST["quantidade_f"]; }else{ $erro = 1; }
    if(valida::numero($_POST["val_custo_i"] )){ $sgm_relatorio_val_custo_i  = $_POST["val_custo_i"];  }else{ $erro = 1; }
    if(valida::numero($_POST["val_custo_f"] )){ $sgm_relatorio_val_custo_f  = $_POST["val_custo_f"];  }else{ $erro = 1; }
    if(valida::numero($_POST["val_venda_i"] )){ $sgm_relatorio_val_venda_i  = $_POST["val_venda_i"];  }else{ $erro = 1; }
    if(valida::numero($_POST["val_venda_f"] )){ $sgm_relatorio_val_venda_f  = $_POST["val_venda_f"];  }else{ $erro = 1; }
    if(valida::numero($_POST["limitedesc_i"])){ $sgm_relatorio_limitedesc_i = $_POST["limitedesc_i"]; }else{ $erro = 1; }
    if(valida::numero($_POST["limitedesc_f"])){ $sgm_relatorio_limitedesc_f = $_POST["limitedesc_f"]; }else{ $erro = 1; }
    if(valida::numero($_POST["dt_compra_i"] )){ $sgm_relatorio_dt_compra_i  = $_POST["dt_compra_i"];  }else{ $erro = 1; }
    if(valida::numero($_POST["dt_compra_f"] )){ $sgm_relatorio_dt_compra_f  = $_POST["dt_compra_f"];  }else{ $erro = 1; }
    if(valida::numero($_POST["dt_venc_i"]   )){ $sgm_relatorio_dt_venc_i    = $_POST["dt_venc_i"];    }else{ $erro = 1; }
    if(valida::numero($_POST["dt_venc_f"]   )){ $sgm_relatorio_dt_venc_f    = $_POST["dt_venc_f"];    }else{ $erro = 1; }
    if(valida::numero($_POST["minimo_i"]    )){ $sgm_relatorio_minimo_i     = $_POST["minimo_i"];     }else{ $erro = 1; }
    if(valida::numero($_POST["minimo_f"]    )){ $sgm_relatorio_minimo_f     = $_POST["minimo_f"];     }else{ $erro = 1; }
    $sgm_relatorio_medida = addslashes($_POST["medida"]);
    
    if($erro == 0){
        $sql_relatorio = "SELECT p.*, m.nome marca, s.nome setor FROM sgm_produto p, sgm_marca m, sgm_setor s WHERE p.id_marca = m.id AND p.id_setor = s.id AND p.id_empresa = '".$_SESSION["sgm_id_empresa"]."'";
        if($sgm_relatorio_marca        != ''){ $sql_relatorio .= " AND p.id_marca = '$sgm_relatorio_marca'"; }
        if($sgm_relatorio_setor        != ''){ $sql_relatorio .= " AND p.id_setor = '$sgm_relatorio_setor'"; }
        if($sgm_relatorio_quantidade_i != ''){ $sql_relatorio .= " AND p.quantidade >= '$sgm_relatorio_quantidade_i'"; }
        if($sgm_relatorio_quantidade_f != ''){ $sql_relatorio .= " AND p.quantidade <= '$sgm_relatorio_quantidade_f'"; }
        if($sgm_relatorio_val_custo_i  != ''){ $sql_relatorio .= " AND p.val_custo >= '$sgm_relatorio_val_custo_i'"; }
        if($sgm_relatorio_val_custo_f  != ''){ $sql_relatorio .= " AND p.val_custo <= '$sgm_relatorio_val_custo_f'"; }
        if($sgm_relatorio_val_venda_i  != ''){ $sql_relatorio .= " AND p.val_venda >= '$sgm_relatorio_val_venda_i'"; }
        if($sgm_relatorio_val_venda_f  != ''){ $sql_relatorio .= " AND p.val_venda <= '$sgm_relatorio_val_venda_f'"; }
        if($sgm_relatorio_limitedesc_i != ''){ $sql_relatorio .= " AND p.limitedesc >= '$sgm_relatorio_limitedesc_i'"; }
        if($sgm_relatorio_limitedesc_f != ''){ $sql_relatorio .= " AND p.limitedesc <= '$sgm_relatorio_limitedesc_f'"; }
        if($sgm_relatorio_dt_compra_i  != ''){ $sql_relatorio .= " AND p.dt_compra >= '$sgm_relatorio_dt_compra_i'"; }
        if($sgm_relatorio_dt_compra_f  != ''){ $sql_relatorio .= " AND p.dt_compra <= '$sgm_relatorio_dt_compra_f'"; }
        if($sgm_relatorio_dt_venc_i    != ''){ $sql_relatorio .= " AND p.dt_venc >= '$sgm_relatorio_dt_venc_i'"; }
        if($sgm_relatorio_dt_venc_f    != ''){ $sql_relatorio .= " AND p.dt_venc <= '$sgm_relatorio_dt_venc_f'"; }
        if($sgm_relatorio_minimo_i     != ''){ $sql_relatorio .= " AND p.minimo >= '$sgm_relatorio_minimo_i'"; }
        if($sgm_relatorio_minimo_f     != ''){ $sql_relatorio .= " AND p.minimo <= '$sgm_relatorio_minimo_f'"; }
        if($sgm_relatorio_medida       != ''){ $sql_relatorio .= " AND p.medida <= '$sgm_relatorio_medida'"; }
        $sql_relatorio .= " order by p.nome";
        
        $_SESSION["sgm_sql_relatorio"] = $sql_relatorio;
        header("location: ?pag=vrProduto");
        echo "
            <script>location.href='?pag=vrProduto';</script>
            ";
    }else{
        echo "
            <script>alert('Falha ao validar o relatório');</script>
            ";
    }
}

if ($_POST["btn_buscar"] == "Buscar"){
    $busca = addslashes($_POST["busca"]);
    $sql_busca = "SELECT p.id FROM sgm_produto p, sgm_marca m, sgm_setor s 
    WHERE p.id_marca = m.id AND p.id_setor = s.id AND 
    ( p.codebar like '%$busca%'
    OR p.nome like '%$busca%'
    OR p.medida like '%$busca%'
    OR m.nome like '%$busca%'
    OR s.nome like '%$busca%'
    )";
    $db = new db(config::$driver);
    $conexao = $db->conecta();
    $res_busca = $db->query($sql_busca, $conexao);
    $db->close($conexao);
    $id_busca = '';
    while($bsc = $db->fetch_array($res_busca)){
        if($id_busca != ''){
            $id_busca .= ", ";
        }
        $id_busca .= $bsc[0];
    }
    $_SESSION["id_busca_produto"] = $id_busca;
    $_SESSION["busca_produto"]    = $busca;
    
    header("location: ?pag=produto");
    echo "<meta http-equiv='refresh' content='0; url=?pag=produto'>";
}

function mostraProdutos(){
    switch ($_GET["ord"]){
        case "cod": $ordem = "codebar";    break;
        case "nom": $ordem = "nome";       break;
        case "mar": $ordem = "marca";      break;
        case "set": $ordem = "setor";      break;
        case "uni": $ordem = "medida";     break;
        case "qnt": $ordem = "quantidade"; break;
        case "min": $ordem = "minimo";     break;
        case "ven": $ordem = "val_venda";  break;
        default:  $ordem = "nome"; break;
    }
    $sql = "select p.*, m.nome marca, s.nome setor from sgm_produto p, sgm_marca m, sgm_setor s where p.id_marca = m.id and p.id_setor = s.id and p.id_empresa = '".$_SESSION["sgm_id_empresa"]."'";
    if($_SESSION["id_busca_produto"] != ''){
        $sql .= " and p.id in (".$_SESSION["id_busca_produto"].")";
    }
    $sql .=" order by $ordem";
    if($_GET["desc"] == 1){
        $sql .= " desc";
    }
    $itens = 50;
    if(valida::numero($_GET["ps"]) && $_GET["ps"] != ''){
        $pag = $_GET["ps"];
    }else{
        $pag = 1;
    }
    $ini = $pag * $itens - $itens;
    $sql .= " limit $ini, $itens";
    
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    $cont = 0;
    $i = 0;
    while ($produto = $db->fetch_array($res)){
        
        if($cont == 0){
            $cont = 1;
            $class = "zb1";
        }else{
            $cont = 0;
            $class = "zb2";
        }
        
        if($produto["quantidade"] <= $produto["minimo"]){
            $class .= " alerta";
        }
        
        echo "<tr class='$class'>";
        if($_SESSION["sgm_master"] == 1){
            echo "
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["codebar"]."</a></td>
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["nome"]."</a></td>
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["marca"]."</a></td>
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["setor"]."</a></td>
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["medida"]."</a></td>
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["quantidade"]."</a></td>
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["minimo"]."</a></td>
                <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".add_0($produto["val_venda"])."</a></td>
            ";
        }else{
            echo "
                <td>".$produto["codebar"]."</td>
                <td>".$produto["nome"]."</td>
                <td>".$produto["marca"]."</td>
                <td>".$produto["setor"]."</td>
                <td>".$produto["medida"]."</td>
                <td>".$produto["quantidade"]."</td>
                <td>".$produto["minimo"]."</td>
                <td>".add_0($produto["val_venda"])."</td>
            ";
        }
        echo "</tr>";
        $i++;
    }
    if($i == 0){
        echo "<tr><td colspan='8'>Não há produtos</td></tr>";
    }
}

function mostraProdutosRelatorio(){
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($_SESSION["sgm_sql_relatorio"], $con);
    $db->close($con);
    $cont = 0;
    $c = 0;
    while ($produto = $db->fetch_array($res)){
        
        if($cont == 0){
            $cont = 1;
            $class = "zb1";
        }else{
            $cont = 0;
            $class = "zb2";
        }
        
        if($produto["quantidade"] <= $produto["minimo"]){
            $class .= " alerta";
        }
        
        echo "
        <tr class='$class'>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["codebar"]."</a></td>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["nome"]."</a></td>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["marca"]."</a></td>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["setor"]."</a></td>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["medida"]."</a></td>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["quantidade"]."</a></td>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["minimo"]."</a></td>
            <td><a href='?pag=prodSet&id=".$produto["codebar"]."'>".$produto["val_venda"]."</a></td>
        </tr>";
        $c++;
    }
    if($c == 0){
        echo "
        <tr>
            <td colspan='8'>Nenhum resultado</td>
        </tr>";
    }
}

function mostraListaMarcas($id){
    $sql = "select id, nome from sgm_marca where id_empresa = '".$_SESSION["sgm_id_empresa"]."' order by nome";
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    while ($marca = $db->fetch_array($res)){
        echo "
        <option value='".$marca["id"]."'";
        if($id == $marca["id"]){echo " selected";}
        echo ">".$marca["nome"]."</option>";
    }
}

function mostraListaSetores($id){
    $sql = "select id, nome from sgm_setor where id_empresa = '".$_SESSION["sgm_id_empresa"]."' order by nome";
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    while ($setor = $db->fetch_array($res)){
        echo "
        <option value='".$setor["id"]."'";
        if($id == $setor["id"]){echo " selected";}
        echo ">".$setor["nome"]."</option>";
    }
}

function mostraListaMedidas($id){
    $sql = "select medida from sgm_produto where id_empresa = '".$_SESSION["sgm_id_empresa"]."' group by medida order by medida";
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    while ($medida = $db->fetch_array($res)){
        echo "
        <option value='".$medida["medida"]."'";
        if($id == $medida["medida"]){echo " selected";}
        echo ">".$medida["medida"]."</option>";
    }
}

function link_paginas($qtd, $pa){
    if($qtd > 0){
        $itens = 50;
        $lnk = "&ord=".$_GET["ord"]."&desc=".$_GET["desc"];
        $pag = (int) ($qtd / $itens);
        $res = $qtd % $itens;
        if($res > 0){
            $pag++;
        }

        if($pa <= 5){
            $i = 1;
            $f = 10;
        }else if($pa + 5 >= $pag){
            $i = $pag - 10;
            $f = $pag;
        }else{
            $i = $pa - 4;
            $f = $pa + 4;
        }

        if($pa > 5){
            echo "
            <a href='?pag=produto&ps=1$lnk' class='lnk_pag'>1</a> ... ";
        }



        while($i <= $f){
            if($pa == $i){
                $sel = " lnk_pag_sel";
            }else{
                $sel = " lnk_pag";
            }
            echo "
            <a href='?pag=produto&ps=$i$lnk' class='$sel'>$i</a>";
            $i++;
        }


        if($pa + 5 < $pag){
            echo "
            ... <a href='?pag=produto&ps=$pag$lnk' class='lnk_pag'>$pag</a>";
        }
        echo "<br><br>";
    }
}